// Copilot相关的枚举和类型定义
// 这个文件用于避免实体间的循环引用

export enum RequestPhase {
  CLIENT_REQUEST = 'client_request',
  COPILOT_REQUEST = 'copilot_request', 
  COPILOT_RESPONSE = 'copilot_response',
  CLIENT_RESPONSE = 'client_response'
}

export enum RequestStatus {
  SUCCESS = 'success',
  ERROR = 'error',
  IN_PROGRESS = 'in_progress',
  TIMEOUT = 'timeout'
}

export enum MappingType {
  FIELD_ADDED = 'field_added',
  FIELD_REMOVED = 'field_removed', 
  FIELD_MODIFIED = 'field_modified',
  FIELD_RENAMED = 'field_renamed',
  TYPE_CHANGED = 'type_changed',
  VALUE_TRANSFORMED = 'value_transformed',
  STRUCTURE_CHANGED = 'structure_changed'
}

export enum DataType {
  STRING = 'string',
  NUMBER = 'number',
  BOOLEAN = 'boolean',
  OBJECT = 'object',
  ARRAY = 'array',
  NULL = 'null',
  UNDEFINED = 'undefined'
}